﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.Data;

namespace DAL.Service
{
    public interface IBookService : IBaseService
    {
        /// <summary>
        /// 获取到期出借书信息
        /// </summary>
        /// <returns></returns>
        IList getExpireRemind();
        /// <summary>
        /// 获取将要到期借书信息
        /// </summary>
        /// <returns></returns>
        IList getReturnRemind();
        IList userGetRemind(int uid);
        /// <summary>
        /// 已还图书查询
        /// </summary>
        /// <param name="bookname">书名</param>
        /// <param name="in_s">借书时间区间开始</param>
        /// <param name="in_e">借书时间区间结束</param>
        /// <param name="pageno"></param>
        /// <param name="pagesize"></param>
        /// <returns></returns>
        IList getReturnBooks(string bookname, string in_s, string in_e, int pageno, int pagesize);
        /// <summary>
        /// 借出图书查询
        /// </summary>
        /// <param name="bookname"></param>
        /// <param name="in_s"></param>
        /// <param name="in_e"></param>
        /// <param name="pageno"></param>
        /// <param name="pagesize"></param>
        /// <returns></returns>
        IList getloanBooks(string bookname, string in_s, string in_e, int pageno, int pagesize);
        /// <summary>
        /// 新入库图书列表
        /// </summary>
        /// <param name="bookname"></param>
        /// <param name="in_s"></param>
        /// <param name="in_e"></param>
        /// <param name="pageno"></param>
        /// <param name="pagesize"></param>
        /// <returns></returns>
        IList getputInStorage(string bookname, string in_s, string in_e, int pageno, int pagesize);

        IList getLibraryBookist(string bookName, string translatedName, int language, int ebook,
            int forAge, int level, int bookType, int bookTheme, string author, string press,
            string in_s, string in_e, int state, int pageno, int pagesize, string isbn, string selbookaboutcd, string txtbookcount, string txtbooksum, string txtbsum, string txtwhere, string txtjiage, string olb_bookName, string olb_ebook, string olb_forAge, string olb_level, string olb_bookType, string olb_bookTheme, string olb_booksCount, string olb_inventory, string olb_position, string olb_price, string olb_state, string olb_id);

        DataTable getLibraryBookistDatatable(string bookName, string translatedName, int language, int ebook,
    int forAge, int level, int bookType, int bookTheme, string author, string press,
    string in_s, string in_e, int state, int pageno, int pagesize, string isbn, string selbookaboutcd, string txtbookcount, string txtbooksum, string txtbsum, string txtwhere, string txtjiage, string olb_bookName, string olb_ebook, string olb_forAge, string olb_level, string olb_bookType, string olb_bookTheme, string olb_booksCount, string olb_inventory, string olb_position, string olb_price, string olb_state, string olb_id);
        DataTable getBookDetaillistDatatable(string bookName, string translatedName, int language, int ebook,
    int forAge, int level, int bookType, int bookTheme, string author, string press,
    string in_s, string in_e, int state, int pageno, int pagesize, string isbn, string selbookaboutcd, string txtwhere, string txtjiage, string olb_bookName, string olb_ebook, string olb_forAge, string olb_level, string olb_bookType, string olb_bookTheme, string olb_state, string olb_id, string olbd_isbn, string olb_translatedName, string olb_language, string jc_s, string jc_e, string gh_s, string gh_e, string selmp3);
        IList getBookDetaillist(string bookName, string translatedName, int language, int ebook,
    int forAge, int level, int bookType, int bookTheme, string author, string press,
    string in_s, string in_e, int state, int pageno, int pagesize, string isbn, string selbookaboutcd, string txtwhere, string txtjiage, string olb_bookName, string olb_ebook, string olb_forAge, string olb_level, string olb_bookType, string olb_bookTheme, string olb_state, string olb_id, string olbd_isbn, string olb_translatedName, string olb_language, string jc_s, string jc_e, string gh_s, string gh_e, string selmp3);

        IList getLibraryBookbyid(int id);

        int deleteLibraryBook(int id);
        int updateBookState(int id, int state);
        int addInventOry(int id);


        int subtractInventOry(int id);

        IList getBooklist(string name, string author, string isbn);

        IList saveRanking();
        IList jyRanking();
        IList getUserNameByBookId(int id);
        IList getappraisal(int id);
        IList getBooklist(string text, int language, int ebook,
            int forAge, int level, int bookType, int bookTheme, int cd, int mp3, int inventory, int pageno, int pagesize);
        IList getbookIsbnList(string lbid);
        int updateIsbnBookState(int id, int state);

        int isbnCount(string isbn);
        void booksCountJs(string lbid, int user);

        int updateBookDetailState(int bookid, string isbn, int state);

        IList getBookIdIsbn(string bookname);
        IList getBookDetailId(int id);
        IList getisbnborrowlist(int lbdid);
        IList getLibraryBookId(int detailId);

        IList userGetHistroyList(int pageno, int pagesize, int uid);
        IList userGetCurrentList(int uid);
    }
}
